An applicable family of data flow testing criteria - Software Engineering, IEEE Transactions on
نویسندگان
چکیده
A test data adequacy criterion is a predicate which is used to determine whether a program has been tested “enough.” An adequacy criterion is applicable if for every program there exists a set of test data for the program which satisfies the criterion. Most test data adequacy criteria based on path selection fail to satisfy the applicability property because, for some programs with unexecutable paths, no adequate set of test data exists. In this paper, we extend the definitions of the previously introduced family of data flow testing criteria to apply to programs written in a large subset of Pascal. We then define a new family of adequacy criteria called feasible data flow testing criteria, which are derived from the data flow testing criteria. The feasible data flow testing criteria circumvent the problem of nonapplicability of the data flow testing criteria by requiring the test data to exercise only those definition-use associations which are executable. We show that there are significant differences between the relationships among the data flow testing criteria and the relationships among the feasible data flow testing criteria. We also discuss a generalized notion of the executability of a path through a program unit. A script of a testing session using our data flow testing tool, ASSET, is included in the Appendix.
منابع مشابه
Analysis and Testing of Programs with Exception Handling Constructs
Analysis techniques, such as control flow, data flow, and control dependence, are used for a variety of software-engineering tasks, including structural and regression testing, dynamic execution profiling, static and dynamic slicing, and program understanding. To be applicable to programs in languages, such as Java and C++, these analysis techniques must account for the effects of exception occ...
متن کاملAdapting Structural Testing to Functional Programming
Structural testing is heavily used in the software development process in the context of imperative programming. In order to become applicable to functional programming languages it needs, however, some adaption. We investigate the definition and generation of interprocedural flow graphs for functional programs and identify data flow oriented testing as best choice for the application to functi...
متن کاملSearch Based Software Engineering: Introduction to the Special Issue of the IEEE Transactions on Software Engineering
متن کامل
Optimizing Cost Function in Imperialist Competitive Algorithm for Path Coverage Problem in Software Testing
Search-based optimization methods have been used for software engineering activities such as software testing. In the field of software testing, search-based test data generation refers to application of meta-heuristic optimization methods to generate test data that cover the code space of a program. Automatic test data generation that can cover all the paths of software is known as a major cha...
متن کاملEmpirical Evaluation of Coupling-based Testing Techniques for Object-oriented Programs
Object-oriented design has caused a shift in focus from software units to the way software classes and components are connected. Thus, we are finding that we need less emphasis on unit testing and more on integration testing. The compositional relationships of inheritance and aggregation, especially when combined with polymorphism, introduce new kinds of integration faults, which cannot be cove...
متن کامل